package edu.spec.dengyan.week09.class02.work;

import java.text.SimpleDateFormat;
import java.time.Year;
import java.util.Calendar;
import java.util.Date;

/**
 * Author       : Dengyan
 * Date         : 2018/10/11 23:19
 * Description  : “测试”类
 */
public class Test {
    public static void main(String[] args) {
        //1、计算并输出PI/5的正弦值。PI=180度
        System.out.println("36度的正弦值为："+ Math.sin(Math.PI/5));
        //2、计算并输出1000的平方根。
        System.out.println("1000的平方根为："+Math.sqrt(1000));
        //3、计算并输出2的10次方。
        System.out.println("2的10次方为："+Math.pow(2,10));
        //4、计算并输出100.9的向下取整。
        System.out.println("100.9的向下取整为："+ Math.ceil(100.9));
        //5、计算并输出100.1的向上取整。
        System.out.println("100.1的向上取整为："+ Math.floor(100.1));
        //6、计算并输出100.4的四舍五入取整。
        System.out.println("100.4的四舍五入取整为："+ Math.round(100.4f));
        //7、计算并输出100.5的四舍五入取整。
        System.out.println("100.5的四舍五入取整为："+ Math.round(100.5));
        //8、构造动态字符串并赋值"abcdefgHIJKLMN"
        StringBuffer str=new StringBuffer("abcdefgHIJKLMN");
        //输出该动态字符串内容和长度
        System.out.println("动态字符串内容为："+str);
        System.out.println("str的长度为："+str.length());
        //在a和b之间插入M，然后输出该动态字符串
        System.out.println("在a和b之间插入M后字符串内容为："+str.insert(1,"M"));
        //在M和b之间插入N，然后输出该动态字符串
        System.out.println("在M和b之间插入N后字符串内容为："+str.insert(2,"N"));
        //删除I，然后输出该动态字符串
        System.out.println("删除I后字符串内容为："+str.deleteCharAt(10));
        //将最后出现的MN替换成NM
        str.replace(13,14,"N");
        str.replace(14,15,"M");
        System.out.println("MN替换成NM后字符串内容为："+str.replace(14,15,"M"));
        //9、输出当前的系统时间，格式为“2017年11月20日 11:14”
        SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date d=new Date();
        String DateString=sf.format(d);
        System.out.println(DateString);
        //10、输出从现在开始，到2030年的所有日期1号的星期一，格式为"2018年1月1日 星期一"`
        Calendar cal=Calendar.getInstance();//返回一个Calendar实例
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 EEEE");//设置日期格式
        cal.set(Calendar.DAY_OF_MONTH,1);//设置日期为1号
        int n=1;
        while(n<=23)
        {
            if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY){
                Date date=cal.getTime();
                System.out.println(sdf.format(date));
                n++;
            }
            cal.add(Calendar.MONTH,1);
        }
    }
}
